#include "mydate.h"
#include<QDebug>

MYdate::MYdate()
{
    for(int i=0;i<10;i++)
        for(int j=0;j<10;j++)
        {
            map[i][j]=0;
        }
    for(int i=1;i<=4;i++)
        for(int j=1;j<=6;j++)
        {
            if(i%2==0)
            map[i][j]=4;
            else map[i][j]=6;
        }
    for(int i=0;i<10;i++)
        for(int j=0;j<10;j++)
        {
            if(j%10==0) printf("\n");
            printf("%d,",map[i][j]);

        }
}

bool MYdate::test(int x, int y1,int y2)
{
    qDebug()<<"x="<<x<<"y1="<<y1
           <<"y2="<<y2<<"map="<<map[x][y1];
    if(y1==y2) return true;
    if(map[x][y1]==0) test(x,y1+1,y2);
    else return false;
}

bool MYdate::canRemove(Mypushbutton *p1, Mypushbutton *p2)
{
    if(map[p1->p.x][p1->p.y]==map[p2->p.x][p2->p.y])
      {
        if(canLine(p1,p2)) return true;
        if(canOnecornor(p1,p2)) return true;
        if(cantwocornor(p1,p2)) return true;

      }
    return false;
}

bool MYdate::canLine(Mypushbutton *p1, Mypushbutton *p2)
{
    qDebug()<<"*********canLine*****************";
    if(p1->p.x==p2->p.x)
    {
        if(p1->p.y<p2->p.y)
        {
            if(test(p1->p.x,(p1->p.y)+1,p2->p.y)) return true;
        }
        else
        {
            if(test(p1->p.x,(p2->p.y)+1,p1->p.y)) return true;
        }

    }
    return false;
}

bool MYdate::canOnecornor(Mypushbutton *p1, Mypushbutton *p2)
{
    return false;
}

bool MYdate::cantwocornor(Mypushbutton *p1, Mypushbutton *p2)
{
    return false;
}

void MYdate::myremove(Mypushbutton *p1, Mypushbutton *p2)
{   qDebug()<<"********myremove*********";
    p1->hide(); p2->hide();
    map[p1->p.x][p1->p.y]=0; map[p2->p.x][p2->p.y]=0;
    qDebug()<<p1->p.x<<p1->p.y<<p2->p.x<<p2->p.y
            <<map[p1->p.x][p1->p.y]<<map[p2->p.x][p2->p.y];

}
